Networks are a principal means of exchanging or transferring information (e.g, data, voice, text, video, etc.) among communication devices (i.e. devices for inputting and/or outputting information such as computer terminals, multimedia workstations, fax machines, printers, servers, telephones, videophones, etc.) connected to the network. The use of networks for the reliable, high speed transport of information between communication devices over wide areas in digital format is bringing major changes to network services and network architecture/infrastructure design. Many new services having diverse characteristics (e.g. different bit rates) are now feasible. One emerging example of such a network is Broadband ISDN (BISDN). BISDN is designed to support a variety of applications such as interactive and distributed audio, video and data communications. The principal transfer mode for BISDN is called Asynchronous Transfer Mode (ATM). ATM is a high bandwidth, low-delay, packet-like switching and multiplexing technique. See, S. E. Minzer, "Broadband ISDN and Asynchronous Transfer Mode," IEEE Comm. Mag., pp. 17-24, September 1989.
A network typically comprises switching nodes connected to each other, and to communication devices, by links. Each link is characterized by a bandwidth or link capacity. Information input from the communication devices to the network may be of any form but is often formatted into fixed-length packets or cells. When information is to be exchanged between two communication devices, a path (comprising a set of nodes and links connecting the two communication devices) is established. This path is a so-called "virtual circuit" (VC) by which it is meant that a communication device simply specifies the destination for the information, and the network delivers the information as though a dedicated circuit connected the two communication devices. Although a number of different paths could be chosen initially, once established, the path typically remains established until the information exchange is complete. Cells in transit between communication devices may temporarily be stored in buffers at nodes along the path of the virtual circuit pending sufficient available bandwidth on an outgoing link from the node.
An important consideration in network operation is traffic control, i.e. the process of controlling the amount of information entering and traversing the network. Traffic control mechanisms are of three general types, each with different objectives. See, generally, William Stallings, "Data and Computer Communications," 4th Ed., McMillan Pub. Co., New York, 1991. The first type of traffic control, flow control, deals with the regulation of the rate of data transmission between two points. The second type of traffic control is deadlock avoidance in which various techniques are used to minimize conditions under which a node is unable to forward packets because no buffers are available in a subsequent node along the path. Congestion control is the third type of traffic control. The objective of congestion control is to maintain the amount of information (e.g. the number of cells) within the network below a level at which performance (e.g. throughput delay, cell loss, etc.) becomes unacceptable. More particularly, the objective of congestion control is to limit the fullness of buffers at nodes in the network so as to avoid cell loss or delay. Thus, congestion control may require overhead in that a portion of the capacity of the network is dedicated to carrying congestion information rather than to carrying information input from communication devices.
Congestion control may be of the "open-loop" type of control in which a requested VC is established within the network based on the requested VC's declared parameters or characteristics (e.g. mean rate, peak rate and burst size), the network state (i.e. the network topology and current available network resources such as buffer space in the nodes and capacity in the links) and given any quality-of-service requirements (e.g. guaranteed bandwidth or maximum cell loss probability) made to users of devices in the network. The VC is then monitored in real time, as for example by an access regulator, and is restricted to conform to its declared parameters. See, e.g. A. E. Eckberg, et al., "An Approach to Controlling Congestion in ATM Networks," International Journal on Digital and Analog Communication Systems, Vol. 3, pp. 199-209, 1990. Open loop control, however, does not permit a system to modify the declared parameters to react to (i.e. it is non-dynamic with respect to) changing network conditions (e.g. to take advantage of an increase in the bandwidth available on a link at a node due to termination of other VCs routed through the node).
Congestion control may also be of the "feedback" type of control as used in data networks in which a node generates or controls a feedback signal which is used to indicate a level of congestion in the vicinity of the node. The congestion level is indicative of the extent to which a cell arriving at the node may be delayed or lost within the node. Thus, a level of congestion may be reflected by the number of cells in transit through the node, the content level of a node buffer, the throughput delay at the node, the probability or amount of cell loss at the node, etc. The feedback signal is received at a communication device, and then the communication device regulates the admission of new information into the network in response to the level of congestion indicated by the feedback signal. One such technique is described in D. Mitra and J. B. Seery, "Method for Adaptive Control of Windows and Rates in Networks," Ser. No. 08/118531, filed Sep. 8, 1993 and assigned to the assignee of this invention. See also, R. Jain and K. Ramakrishnan, "Congestion Avoidance in Computer Networks with Connectionless Network Layer: Concepts, Goals, and Methodology," Proc. Computer Networking Symposium, April 1988. However, traditional data networks typically do not perform functions to control admission of new VCs into the network. Hence, when many VCs are admitted, excessive throughput delays may be encountered. Additionally, feedback congestion control methods may encounter stability problems in cases where the feedback is delayed in reaching the communication device.